begintownscript;

variables;
short bmessage,pcs,seated,leadchar,rctx,rcty,enemy_no,chr_ok;
string custom_m;

body;

beginstate INIT_STATE;
	turn_off_training(1);

	set_incidental_sound(1);
	if(get_flag(13,1) == 0){
		pcs = 0;
		seated = 0;
		while(pcs <= 3){
			if(char_ok(pcs) == TRUE){
				set_character_facing(pcs,0);
				if(seated == 0)
					relocate_character(pcs,22,9);
				if(seated == 1)
					relocate_character(pcs,23,10);
				if(seated == 2)
					relocate_character(pcs,21,10);
				if(seated == 3)
					relocate_character(pcs,24,10);
				seated = (seated + 1);
			}

			pcs = (pcs + 1);
		}
		force_view_center(22,9);
		set_terrain(21,7,336);
		set_terrain(22,7,336);
		set_terrain(23,7,336);
		force_instant_terrain_redraw();
		pause(8);

		set_terrain(21,7,0);
		set_terrain(22,7,0);
		set_terrain(23,7,0);
		force_instant_terrain_redraw();
		play_sound(99);
		pause(5);

		if(party_size() == 1)
			message_dialog("Captain Andre was right-- The Immortal's men have placed a dock on the only place along the shoreline that is remotely accessible to a boat.","The brigands-- or, rather, Imperial soldiers-- probably know that I'm coming.  I had best be prepared for the worst.");
		if(party_size() > 1)
			message_dialog("Captain Andre was right-- The Immortal's men have placed a dock on the only place along the shoreline that is remotely accessible to a boat.","The brigands-- or, rather, Imperial soldiers-- probably know that we're coming.  We had best be prepared for the worst.");

		change_blocked(16,15,1);
		change_blocked(16,16,1);
		change_blocked(16,17,1);

		enemy_no = 6;
		while(enemy_no <= 20){
			set_char_status(enemy_no,4,2,1,0);

			enemy_no = (enemy_no + 1);
		}
		set_char_status(48,4,2,1,0);
	}

break;

beginstate EXIT_STATE;
break;

beginstate START_STATE;

	if(get_flag(13,1) < 2){
		enemy_no = 6;
		while(enemy_no <= 20){
			set_char_status(enemy_no,4,2,1,0);

			enemy_no = (enemy_no + 1);
		}
		set_char_status(48,4,2,1,0);
	}
	if(get_flag(13,1) == 2){
		enemy_no = 26;
		chr_ok = 0;
		while((enemy_no <= 41) && (chr_ok == 0)){
			if(char_ok(enemy_no) == TRUE)
				chr_ok = 1;

			enemy_no = (enemy_no + 1);
		}
		if(chr_ok == 0){
			set_incidental_sound(1);
			enemy_no = 6;
			while(enemy_no <= 20){
				if(char_ok(enemy_no) == TRUE)
					set_attitude(enemy_no,4);

				enemy_no = (enemy_no + 1);
			}
		}
	}

break;

beginstate 10;

	if(get_flag(13,1) < 2){
		change_blocked(16,15,0);
		change_blocked(16,16,0);
		change_blocked(16,17,0);

		march_party(16,16);
		force_view_center(16,16);
		force_instant_terrain_redraw();
		pause(2);

		activate_hidden_group(2);
		relocate_character(26,16,14);
		relocate_character(28,17,14);
		relocate_character(38,18,14);
		relocate_character(41,16,18);
		relocate_character(40,17,18);
		relocate_character(39,18,18);
		put_effect_on_space(16,14,6,1,1);
		put_effect_on_space(17,14,6,1,1);
		put_effect_on_space(18,14,6,1,1);
		put_effect_on_space(16,18,6,1,1);
		put_effect_on_space(17,18,6,1,1);
		put_effect_on_space(18,18,6,1,1);
		force_instant_terrain_redraw();
		run_animation_sound(54);
		pause(5);

		message_dialog("Marines!  Oh no...","It's a trap!");

		set_total_visibility(1);
		force_view_center(15,16);
		force_instant_terrain_redraw();
		pause(1);
		force_view_center(14,16);
		force_instant_terrain_redraw();
		pause(1);
		force_view_center(13,16);
		force_instant_terrain_redraw();
		pause(1);
		force_view_center(12,16);
		force_instant_terrain_redraw();
		pause(1);

		activate_hidden_group(3);
		put_boom_on_space(8,16,2,0);
		force_instant_terrain_redraw();
		run_animation_sound(10);
		pause(5);

		text_bubble_on_char(49,"So many errands...!");
		force_instant_terrain_redraw();
		pause(14);

		text_bubble_on_char(49,"");
		text_bubble_on_char(49,"Ah well, time for you to die.");
		force_instant_terrain_redraw();
		pause(16);

		text_bubble_on_char(49,"");
		force_instant_terrain_redraw();
		set_character_pose(49,1);
		set_terrain(12,14,448);
		set_terrain(15,14,448);
		set_terrain(12,18,448);
		set_terrain(15,18,448);
		force_instant_terrain_redraw();
		play_sound(54);

		set_character_pose(49,0);
		force_instant_terrain_redraw();
		pause(3);

		set_character_pose(49,1);
		activate_hidden_group(1);
		put_boom_on_space(14,12,2,0);
		put_boom_on_space(11,11,2,0);
		put_boom_on_space(13,11,2,0);
		put_boom_on_space(14,11,2,0);
		put_boom_on_space(15,11,2,0);
		put_boom_on_space(14,20,2,0);
		put_boom_on_space(11,21,2,0);
		put_boom_on_space(13,21,2,0);
		put_boom_on_space(14,21,2,0);
		put_boom_on_space(15,21,2,0);
		force_instant_terrain_redraw();
		run_animation_sound(10);
		pause(3);

		set_character_pose(49,0);
		force_instant_terrain_redraw();
		pause(3);

		text_bubble_on_char(49,"Sorry-- nothing personal.");
		force_instant_terrain_redraw();
		pause(15);

		text_bubble_on_char(49,"");
		set_character_pose(49,1);
		force_instant_terrain_redraw();
		pause(1);

		erase_char(49);
		put_boom_on_space(8,16,2,0);
		force_instant_terrain_redraw();
		run_animation_sound(10);

		force_view_center(16,16);
		set_total_visibility(0);
		force_instant_terrain_redraw();

		set_name(26,"Empire Marine");
		set_name(27,"Empire Sniper");
		set_name(28,"Empire Marine");
		set_name(29,"Empire Sniper");
		set_name(30,"Empire Archer");
		set_name(31,"Empire Archer");
		set_name(32,"Empire Archer");
		set_name(33,"Empire Archer");
		set_name(34,"Empire Archer");
		set_name(35,"Empire Archer");
		set_name(36,"Infiltrator");
		set_name(37,"Infiltrator");
		set_name(38,"Empire Marine");
		set_name(39,"Empire Marine");
		set_name(40,"Empire Marine");
		set_name(41,"Empire Marine");

		enemy_no = 6;
		while(enemy_no <= 20){
			set_char_status(enemy_no,4,-255,1,0);

			enemy_no = (enemy_no + 1);
		}
		set_char_status(48,4,-255,1,0);

		block_entry(1);
		set_flag(13,1,2);
		set_incidental_sound(0);
	}

break;

